package org.jeecg.modules.boc.service;

import org.jeecg.modules.boc.entity.AccessTokenVO;
import org.jeecg.modules.boc.entity.BO.MessageBO;
import org.jeecg.modules.boc.entity.GetCodeVO;
import org.jeecg.modules.boc.entity.GetUserInfoVO;
import org.jeecg.modules.boc.entity.MessageVO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;


/**
 * 访问行信接口（一期请求方式）
 * @Classname HttpService
 * @author LIUJIA
 * @create 2023-8-15 10:45:40
 */
public interface HttpService {

    // 获取token
    //TODO 本地测试完需要修改
//    @GET("yyzc/mobile/operateCulture/gettoken")//本地测试使用
    @GET(value = "cgi-bin/gettoken")
    Call<AccessTokenVO> regist(@Query("corpid") String corpid,
                               @Query("corpsecret") String corpsecret);
    // 获取code
    //TODO 本地测试完需要修改
//    @GET("yyzc/mobile/operateCulture/authorize")//本地测试使用
    @GET("connect/oauth2/authorize")
    Call<GetCodeVO> getCode(@Query("appid") String appid,
                            @Query("redirect_uri") String redirect_uri,
                            @Query("response_type") String response_type,
                            @Query("scope") String scope,
                            @Query("agentid") String agentid,
                            @Query("state") String state);

    //获取账号userID
    //TODO 本地测试完需要修改
//    @GET("yyzc/mobile/operateCulture/getuserinfo")//本地测试使用
    @GET("cgi-bin/user/getuserinfo")
    Call<GetUserInfoVO> getUserInfo(@Query("access_token") String accessToken, @Query("code") String code);


    // 发送消息
    //TODO 本地测试完需要修改
//    @GET("yyzc/mobile/operateCulture/send")//本地测试使用
    @POST("cgi-bin/message/send")
    Call<MessageVO> send(@Query("access_token") String accessToken,
                         @Body MessageBO messageBO);


//    @GET(value="get_jsapi_ticket")
//    Call<JsApiTicketVo>  getJsTicket(@Query("access_token") String accessToken);

//    @POST(value = "department/creat")
//    Call<Double> creatDepartment(@Query("access_token") String access_token, @Body HTTP http);
}
